package com.devhelper.examples.gef;

import org.eclipse.swt.graphics.Point;
import org.eclipse.ui.IWorkbenchPage;
import org.eclipse.ui.PartInitException;
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.application.ActionBarAdvisor;
import org.eclipse.ui.application.IActionBarConfigurer;
import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
import org.eclipse.ui.application.WorkbenchWindowAdvisor;

import com.qualityeclipse.genealogy.editor.GenealogyEditorInput;
import com.qualityeclipse.genealogy.editor.GenealogyGraphEditor;

public class ApplicationWorkbenchWindowAdvisor extends WorkbenchWindowAdvisor {

    public ApplicationWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) {
        super(configurer);
    }

    @Override
    public ActionBarAdvisor createActionBarAdvisor(IActionBarConfigurer configurer) {
        return new ApplicationActionBarAdvisor(configurer);
    }

    @Override
    public void preWindowOpen() {
        IWorkbenchWindowConfigurer configurer = getWindowConfigurer();
        configurer.setInitialSize(new Point(400, 300));
        configurer.setShowCoolBar(false);
        configurer.setShowStatusLine(false);
        configurer.setTitle("GEF RCP"); //$NON-NLS-1$
    }

    @Override
    public void postWindowOpen() {
//        IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
//        try {
//            page.openEditor(new ExEditorInput("TutoGEF"), ExGraphicalEditor.ID, false);
//        } catch (PartInitException e) {
//            e.printStackTrace();
//        }

        IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
        try {
            page.openEditor(new GenealogyEditorInput("TutoGEF"), GenealogyGraphEditor.ID, false);
        } catch (PartInitException e) {
            e.printStackTrace();
        }

        super.postWindowOpen();
    }
}
